package org.common.utils.id;

/**
 * id工具类
 * @author zhouzhibing
 * @date 2025/11/15 19:29
 */
public class IdTool {

    /**
     * id生成器
     */
    public static IdGenerator ID_GENERATOR;

    /**
     * 根据serverId初始化
     * @param serverId 服务器ID
     */
    public static void init(long serverId) {
        ID_GENERATOR = new IdGenerator(serverId);
    }

    /**
     * @return 返回一个新的唯一ID
     */
    public static long newId() {
        if(ID_GENERATOR == null)
            throw new RuntimeException("请先初始化ID生成器 , IdTool.init");
        return ID_GENERATOR.nextId();
    }

    /**
     * 根据ID解析出服务器ID
     * @param id  id
     * @return 服务器ID
     */
    public static long parseServerId(long id) {
        return IdGenerator.parseServerId(id);
    }

}
